Internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market. Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region, culture, or language by adding locale-specific components, translating text, ensuring pictures are culturally acceptable and removing references that may not be relevant. “Globalization” is a term coined by the software industry for the combination of internationalization and localization.
In the localization process, application developers place text in strings which are loaded during program execution as needed. The strings that require translation and keys that identify the strings are stored in resource files, which are provided to a translator who translates each string. The translator typically does not have context for the translation.